创建 Slider

创建 slider

设置 canvasRender mdoeworld space / 或者为 not important

设置 Canvas 的渲染模式为 not important

删除 handle slider area

Slider对象的层级结构

这时候,如果修改 Slidervalue,你会发现有进度条的效果出现


环形效果

设置 backgroundfill

  • source img 加载环形 sprite
    (导入图片时,需要修改导入图片的属性,转为 sprite,再点击 Apply,这样才能够使用)
image-20200403142411268

修改 slider 的 Rect 组件

设置 sliderwidth height

canvas 下的所有对象(包括子对象)的锚点都设置为 stretch
在锚点设置中,按住 Alt 点击最右下角的预置方式即可

按住 Alt,再点击最右下角的锚点布局

修改后的效果,已经有环形血条的效果了

血条的环形效果

设置颜色

设置颜色

background 设置红色的背景色

设置红色背景

fill 设置填充的前景色,设置为绿色

fill 设置为绿色

可以加上一点透明度,看起来更舒适


但是这时候如果调整 SliderValue 值,你会发现血条并不是以预期的状态填充


修改图片类型

image type 改为 filledFill Method 设置为 Radial 360,调整 fill amount 查看效果
Fill Origin 控制初始的填充点位置,Clockwise 调整填充的方向,其他效果可以自行探索)

修改 Fill 的图片类型
修改后的效果

挂载到物体上

Hierarchy 视图中,将 canvas 拖动到角色 cube 下,设置位置坐标都为 0
修改 Y 坐标,调整垂直方向的位置

完成后的效果

脚本交互

SliderMax ValueMin Value 控制血条的前景长度
在脚本中,只需要获取 Slider 后,修改 Slider.value 属性即可

Max Value 和 Min Value 控制 Slider 的填充范围

小结

  • 环形血条由于是在整个3D空间范围内存在的,非 2D,所以需要使用 World Space 这种 3D 分布方式

  • 画布 Canvas

    • 画布 Canvas 相当于需要显示血条对象的一个附属组件(*****任何 UI 对象在离开 Canvas 后都无法独立存活)
    • 将画布的所有子对象的锚点设置在四个最外的边界,保证修改 Canvas 的大小时,其子对象也会随之一起变化
  • 制作的血条形状与 backgroundfill 对象的 image 组件的 source image 属性有着密切的关系,血条的形状取决于它

  • fill 的图片类型决定了血条的填充效果